<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    /* 
        算术运算符（操作符）
            - 运算符可以用来对一个或多个操作数(值)进行运算
            - 算数运算符
                + 加法运算符
                - 减法运算符
                * 乘法运算符
                / 除法运算符
                ** 幂运算   谁谁的几次方
                %  模运算 两个数相除，取余数
            - 注意
                - 算术运算时，除了字符串的加法，
                    其他运算的操作数是非数值时，都会转换为数值然后再运算

    */
   let a = 1 + 1
    a = 10 / 0  //Infinity
    a = 10 ** 2
    a = 25 ** .5  //开方
    a = 25 % 7

    /* 
        JS是一门弱类型语言，当进行运算时会通过自动的类型转换来完成运算
    */
   a = 10 - '5' // 5 
   a = 10 + true  // 11
   a = 10 + null // 10 
   a = 6 - 'undefined'  // NaN
   /* 
    当任意一个值和字符串做加法运算时，它会先将其他值转换为字符串， 然后再做拼串的操作
    
    可以利用这一特点来完成类型转换
        可以通过为任意类型 + 一个空串的形式来将其转换为字符串
            其原理和String()函数相同，但使用起来更加简洁
    */
   a = 2 + '12'  //212
   a = true + ''  //字符串
    console.log(typeof a,a,);
</script>
</html>